home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HamCall (April 1991)
/
HAMCALL CD-ROM (Buckmaster)(April 1991).BIN
/
geograph
/
atlas
/
geograph.600
< prev
next >
Wrap
Text File
|
1990-10-14
|
9KB
|
411 lines
SUB Geography (H%) Static
H% = 5
700 Screen 0:View Print 1 to 25:Color 1,3,3:Width 80
CLS
Call Frame (2,78,2,23)
Call Frame (2,78,2,4)
Call Frame (25,54,2,4)
Locate 4,2:print Chr$(204)
Locate 4,78:print Chr$(185)
Color 3,1
Locate 3,28:print" Physical World Menu "
Color 7
Locate 9,24:print String$(31,219)
Locate 11,24:print String$(31,219)
Locate 13,24:print String$(31,219)
Locate 15,24:print String$(31,219)
Locate 17,24:print String$(31,219)
color 4,7
Call Frame (23,55,7,19)
color 1,7
Locate 8,24:print " 1. List Mountains. "
Locate 10,24:print" 2. List Lakes. "
Locate 12,24:print" 3. List Rivers/Find River. "
Locate 14,24:print" 4. List Islands. "
Locate 16,24:print" 5. List Oceans. "
Locate 18,24:print" 6. Return to World Menu. "
color 1,3
Locate 22,5:input"Enter your choice by number ---> ", choice
IF choice = 1 THEN
goto 835
ELSEIF choice = 2 THEN
goto 900
ELSEIF choice = 3 THEN
goto 925
ELSEIF choice = 4 THEN
goto 940
ELSEIF choice = 5 THEN
goto 945
ELSEIF choice = 6 THEN
goto 955
END IF
GOTO 700
'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
' ListMount
835 Open "Mountain.600" for Random as #1 LEN = 64
Field #1,2 AS Rank$,_
21 AS Mountain$,_
19 AS Country1$,_
12 AS Country2$,_
8 AS Country3$,_
2 AS Elevation$
NumberofRecords% = LOF(1) / 64
Get #1,NumberofRecords%
CLS
color 1
locate 2:print String$(160,219)
print String$(3,030)
color 7,1:print" World"
print tab(2);"Rank Mountain";tab(28);"Country(ies)";tab(70)"Elevation "
view print 4 to 25:color 1,3
lin% = 3
for z = 1 to NumberofRecords%
get #1,z
print using"###";cvi(Rank$);
print tab(6);Mountain$;
print tab(28);Country1$;
print tab(48);Country2$;
print tab(61);Country3$;
print tab(70);using"##,### ft.";cvi(Elevation$)
lin% = lin% + 1
IF lin% = 23 THEN
Call Pause2
cls 2
lin% = 2
END IF
next z
print:print:print
view print 1 to 25
Close #1
Call pause2
GOTO 700
' ListLakes
900 Open "Lakes.600" for random as #1 LEN = 61
Field #1, 2 AS Rank$,_
18 AS Lake$,_
13 AS Country1$,_
13 AS Country2$,_
6 AS Country3$,_
5 AS Country4$,_
4 AS Area$
NumberofRecords% = LOF(1) / 61
Get #1,NumberofRecords%
CLS
color 1
locate 2:print String$(160,219)
print String$(3,030)
color 7,1:print" World"
print tab(2);"Rank Lake";tab(28);"Country(ies)";tab(70)" Area "
color 1,3,3:view print 4 to 25
lin% = 3
for z = 1 to NumberofRecords%
get #1,z
print using"###";cvi(Rank$);
print tab(5);Lake$;
print tab(24);Country1$;
print tab(38);Country2$;
print tab(52);Country3$;
print tab(59);Country4$;
print tab(66);using"###,### sq.mi.";cvs(Area$)
lin% = lin% + 1
IF lin% = 23 THEN
Call Pause2
cls 2
lin% = 2
END IF
next z
print
Close #1:view print 1 to 25
Call pause2
GOTO 700
'RiverList
925 Open "Rivers.600" for random as #1 LEN = 114
Field #1, 2 AS Rank$,_
22 AS River$,_
14 AS Country1$,_
14 AS Country2$,_
14 AS Country3$,_
14 AS Country4$,_
14 AS Country5$,_
2 AS Length$,_
1 AS Direction$,_
17 AS Feeds$
NumberofRecords% = LOF(1) / 114
926 color 1,3,3:cls
locate 5,5:input"[S]earch for a river or [L]ist Rivers? ",Ans$
IF Ans$ = "L" or Ans$ = "l" THEN goto 927
IF Ans$ = "S" or Ans$ = "s" THEN goto 930
927 CLS
color 1
locate 2:print String$(160,219)
print String$(3,030)
color 7,1:print" World";tab(72);"Length"
print tab(2);"Rank River";tab(28);"Country(ies)";tab(72)"(miles)"
view print 4 to 25:color 1,3,3
lin% = 2
for z = 1 to NumberofRecords%
get #1,z
print using"###";cvi(Rank$);
print tab(5);River$;
print tab(28);Country1$;
print tab(43);Country2$;
print tab(58);Country3$;
Character$ = LEFT$(Country4$,1)
IF (Character$ >= "A" and Character$ =< "z") THEN
print tab(43);Country4$;
print tab(58);Country5$;
lin% = lin% + 1
END IF
print tab(72);using"###,###";cvi(Length$)
lin% = lin% + 1
IF lin% = 23 THEN
Call Pause2
cls 2
lin% = 2
END IF
next z
view print 1 to 25
print:print
locate 24:color 7,0
input" [S]earch for a River [R]eturn to Geography menu. ",Ch$
color 1,3,3
IF Ch$ = "S" or Ch$ = "y" THEN goto 930
IF CH$ = "R" or Ch$ = "r" or Ch$ = "" THEN goto 935
930 cls
locate 5,5:input"Enter river name -----> ",Seek$
L = LEN(Seek$)
yline = 8
for z = 1 to NumberofRecords%
get #1,z
Target$ = LEFT$(River$,L)
IF (Target$ = Seek$) THEN
Word$ = River$
gosub 2500
NewRiver$ = LEFT$(River$,L%+1)
IF NewRiver$ = "Danube " THEN
C$ = "Bulgaria"
Ref% = 3
goto 933
ELSEIF NewRiver$ = "Tisza " THEN
C$ = "Yugoslavia"
Ref% = 3
goto 933
END IF
C$ = Country5$
IF Country5$ = " " THEN C$ = Country4$
IF Country4$ = " " THEN C$ = Country3$
IF Country3$ = " " THEN C$ = Country2$
IF Country2$ = " " THEN C$ = Country1$
933 locate yline,5:print "The ";
print NewRiver$;" flows generally ";Direction$;
IF Direction$ = "N" THEN print"orth, out of ";C$
IF Direction$ = "E" THEN print"ast, out of ";C$
IF Direction$ = "S" THEN print"outh, out of ";C$
IF Direction$ = "W" THEN print"est, out of ";C$
Word$ = Feeds$
gosub 2500
NewFeeds$ = LEFT$(Feeds$,L%+2)
934 print" and empties into the ";NewFeeds$;"."
print
print" The ";NewRiver$;" ranks number";using " ### ";cvi(Rank$);
print"in length among the world's rivers,"
print"with a length of";
print using" #,### miles.";cvi(Length$)
yline = yline + 8
IF Ref% = 3 THEN goto 45
ELSEIF yline > 16 THEN
yline = 8
Call Pause2
view print 4 to 24
cls 2
END IF
next z
45 view print 1 to 24
Ref% = 0:locate 24:color 7,0
input" [S]earch for another River [R]eturn to Geography menu. ",Ch$
color 1,3,3
IF Ch$ = "S" or Ch$ = "s" THEN goto 930
IF Ch$ = "R" or Ch$ = "r" or Ch$ = "" THEN goto 935
935 Close #1
GOTO 700
'Island List
940 Open "Islands.600" for random as #1 LEN = 40
Field #1, 2 AS Rank$,_
16 AS Island$,_
18 AS Country$,_
4 AS Area$
NumberofRecords% = LOF(1) / 40
lin% = 2
CLS
color 1
locate 2:print String$(160,219)
print String$(3,030):color 7,1:print" World"
print tab(2);"Rank Island";tab(28);"Country(ies)";tab(70)" Area "
color 1,3,3:view print 4 to 25
for z = 1 to NumberofRecords%
get #1,z
print using"###";cvi(Rank$);
print tab(5);Island$;
print tab(24);Country$;
print tab(66);using"###,### sq.mi.";cvs(Area$)
lin% = lin% + 1
IF lin% = 23 THEN
Call Pause2
cls 2
lin% = 2
END IF
next z
Close #1
view print 1 to 25
Call pause2
GOTO 700
945 Open "Oceans.600" for random as #1 LEN = 27
Field #1, 2 AS Rank$,_
17 AS Ocean$,_
4 AS Area$,_
4 AS Depth$
NumberofRecords% = LOF(1) / 27
CLS
color 1
print String$(80,219);:color 7,1:print tab(2);"Rank Ocean";_
tab(49);"Area";tab(65)"Greatest Depth "
color 1,3
for z = 1 to NumberofRecords%
get #1,z
print using"##";cvi(Rank$);
print tab(8);Ocean$;
print tab(43);using"###,###,### sq.mi.";cvs(Area$);
print tab(68);using"##,### ft.";cvs(Depth$)
next z
Close #1
Call pause2
GOTO 700
2500
Lnumber% = LEN(Word$)
L%=0
For i% = 1 to Lnumber%
Character$ = MID$(Word$,i%,1)
IF (Character$ >= "A" AND Character$ =< "z") or_
(Character$ = "-") or (Character$ = "(") or_
(Character$ = ")") THEN
L%=L%+1
END IF
Next i%
'Word$ = LEFT$(Word$,L)
RETURN
955 END SUB
SUB Pause2 Static
Locate 25,30:input"[ENTER] to Continue",d
Locate 25,30:print" "
END SUB
SUB FRAME (leftcol%, rightcol%,toprow%,bottomrow%) STATIC
LOCATE TOPROW%, LEFTCOL%: PRINT CHR$(201)
LOCATE TOPROW%, RIGHTCOL%: PRINT CHR$(187)
LOCATE BOTTOMROW%, LEFTCOL%: PRINT CHR$(200)
LOCATE BOTTOMROW%, RIGHTCOL%: PRINT CHR$(188)
FOR VERTlin%=TOPROW% + 1 TO BOTTOMROW% -1
LOCATE VERTlin%, LEFTCOL%: PRINT CHR$ (186)
LOCATE VERTlin%, RIGHTCOL%: PRINT CHR$(186)
NEXT VERTlin%
HORIZLENGTH% = RIGHTCOL% - LEFTCOL% -1
HORIZLINE$ = STRING$(HORIZLENGTH%, 205)
LOCATE TOPROW%, LEFTCOL% + 1:PRINT HORIZLINE$
LOCATE BOTTOMROW%, LEFTCOL% + 1: PRINT HORIZLINE$;
END SUB